guint timer_calls : 3;
guint wrap : 1;
};
+typedef struct _GtkSpinButtonPrivate GtkSpinButtonPrivate;
enum {
PROP_0,
GParamSpec *pspec)
{
GtkSpinButton *spin_button = GTK_SPIN_BUTTON (object);
- GtkSpinButtonPrivate *priv = spin_button->priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
switch (prop_id)
{
GParamSpec *pspec)
{
GtkSpinButton *spin_button = GTK_SPIN_BUTTON (object);
- GtkSpinButtonPrivate *priv = spin_button->priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
switch (prop_id)
{
GtkWidget *widget)
{
GtkSpinButton *spin = GTK_SPIN_BUTTON (widget);
- GtkSpinButtonPrivate *priv = spin->priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin);
if (!gtk_widget_has_focus (widget))
gtk_widget_grab_focus (widget);
static gboolean
gtk_spin_button_stop_spinning (GtkSpinButton *spin)
{
- GtkSpinButtonPrivate *priv = spin->priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin);
gboolean did_spin = FALSE;
if (priv->timer)
GtkWidget *click_child,
gdouble step)
{
- GtkSpinButtonPrivate *priv = spin->priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin);
priv->click_child = click_child;
gpointer user_data)
{
GtkSpinButton *spin_button = user_data;
- GtkSpinButtonPrivate *priv = spin_button->priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
GtkWidget *pressed_button = GTK_GESTURE (gesture) == priv->up_click_gesture ?
priv->up_button : priv->down_button;
gpointer user_data)
{
GtkSpinButton *spin_button = user_data;
- GtkSpinButtonPrivate *priv = spin_button->priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
int button = gtk_gesture_single_get_current_button (GTK_GESTURE_SINGLE (gesture));
gtk_spin_button_stop_spinning (spin_button);
static void
gtk_spin_button_init (GtkSpinButton *spin_button)
{
- GtkSpinButtonPrivate *priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
gtk_widget_set_has_window (GTK_WIDGET (spin_button), FALSE);
- spin_button->priv = gtk_spin_button_get_instance_private (spin_button);
- priv = spin_button->priv;
-
priv->adjustment = NULL;
priv->timer = 0;
priv->climb_rate = 0.0;
gtk_spin_button_finalize (GObject *object)
{
GtkSpinButton *spin_button = GTK_SPIN_BUTTON (object);
- GtkSpinButtonPrivate *priv = spin_button->priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
gtk_spin_button_unset_adjustment (spin_button);
gtk_spin_button_realize (GtkWidget *widget)
{
GtkSpinButton *spin_button = GTK_SPIN_BUTTON (widget);
- GtkSpinButtonPrivate *priv = spin_button->priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
gboolean return_val;
GTK_WIDGET_CLASS (gtk_spin_button_parent_class)->realize (widget);
* 'output' signal; and if we don't have any explicit 'text' set initially,
* fallback to the default output. */
if (!return_val &&
- (spin_button->priv->numeric || gtk_entry_get_text (GTK_ENTRY (priv->entry)) == NULL))
+ (priv->numeric || gtk_entry_get_text (GTK_ENTRY (priv->entry)) == NULL))
gtk_spin_button_default_output (spin_button);
gtk_widget_queue_resize (GTK_WIDGET (spin_button));
adjustment_changed_cb (GtkAdjustment *adjustment, gpointer data)
{
GtkSpinButton *spin_button = GTK_SPIN_BUTTON (data);
- GtkSpinButtonPrivate *priv = spin_button->priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
priv->timer_step = gtk_adjustment_get_step_increment (priv->adjustment);
gtk_widget_queue_resize (GTK_WIDGET (spin_button));
static void
gtk_spin_button_unset_adjustment (GtkSpinButton *spin_button)
{
- GtkSpinButtonPrivate *priv = spin_button->priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
if (priv->adjustment)
{
gtk_spin_button_set_orientation (GtkSpinButton *spin,
GtkOrientation orientation)
{
- GtkSpinButtonPrivate *priv = spin->priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin);
GtkEntry *entry = GTK_ENTRY (priv->entry);
if (priv->orientation == orientation)
gtk_spin_button_format_for_value (GtkSpinButton *spin_button,
gdouble value)
{
- GtkSpinButtonPrivate *priv = spin_button->priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
gchar *buf = g_strdup_printf ("%0.*f", priv->digits, value);
return weed_out_neg_zero (buf, priv->digits);
GdkEvent *event)
{
GtkSpinButton *spin_button = GTK_SPIN_BUTTON (widget);
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
if (gdk_event_get_event_type (event) == GDK_FOCUS_CHANGE)
{
gdk_event_get_focus_in (event, &focus_in);
if (!focus_in)
{
- if (gtk_editable_get_editable (GTK_EDITABLE (spin_button->priv->entry)))
+ if (gtk_editable_get_editable (GTK_EDITABLE (priv->entry)))
gtk_spin_button_update (spin_button);
}
static gint
gtk_spin_button_timer (GtkSpinButton *spin_button)
{
- GtkSpinButtonPrivate *priv = spin_button->priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
gboolean retval = FALSE;
if (priv->timer)
gtk_spin_button_real_change_value (GtkSpinButton *spin,
GtkScrollType scroll)
{
- GtkSpinButtonPrivate *priv = spin->priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin);
gdouble old_value;
if (!gtk_editable_get_editable (GTK_EDITABLE (priv->entry)))
GdkEventKey *event)
{
GtkSpinButton *spin = GTK_SPIN_BUTTON (widget);
- GtkSpinButtonPrivate *priv = spin->priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin);
/* We only get a release at the end of a key repeat run, so reset the timer_step */
priv->timer_step = gtk_adjustment_get_step_increment (priv->adjustment);
gtk_spin_button_snap (GtkSpinButton *spin_button,
gdouble val)
{
- GtkSpinButtonPrivate *priv = spin_button->priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
gdouble inc;
gdouble tmp;
gpointer user_data)
{
GtkSpinButton *spin_button = user_data;
- GtkSpinButtonPrivate *priv = spin_button->priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
if (gtk_editable_get_editable (GTK_EDITABLE (priv->entry)))
gtk_spin_button_update (spin_button);
gint *position)
{
GtkSpinButton *spin = GTK_SPIN_BUTTON (editable);
- GtkSpinButtonPrivate *priv = spin->priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin);
GtkEntry *entry = GTK_ENTRY (priv->entry);
GtkEditableInterface *parent_editable_iface;
gtk_spin_button_real_spin (GtkSpinButton *spin_button,
gdouble increment)
{
- GtkSpinButtonPrivate *priv = spin_button->priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
GtkAdjustment *adjustment;
gdouble new_value = 0.0;
gboolean wrapped = FALSE;
gtk_spin_button_default_input (GtkSpinButton *spin_button,
gdouble *new_val)
{
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
gchar *err = NULL;
- *new_val = g_strtod (gtk_entry_get_text (GTK_ENTRY (spin_button->priv->entry)), &err);
+ *new_val = g_strtod (gtk_entry_get_text (GTK_ENTRY (priv->entry)), &err);
if (*err)
return GTK_INPUT_ERROR;
else
static void
gtk_spin_button_default_output (GtkSpinButton *spin_button)
{
- GtkSpinButtonPrivate *priv = spin_button->priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
gchar *buf = gtk_spin_button_format_for_value (spin_button,
gtk_adjustment_get_value (priv->adjustment));
gdouble climb_rate,
guint digits)
{
- GtkSpinButtonPrivate *priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
g_return_if_fail (GTK_IS_SPIN_BUTTON (spin_button));
- priv = spin_button->priv;
-
if (!adjustment)
adjustment = priv->adjustment;
gtk_spin_button_set_adjustment (GtkSpinButton *spin_button,
GtkAdjustment *adjustment)
{
- GtkSpinButtonPrivate *priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
g_return_if_fail (GTK_IS_SPIN_BUTTON (spin_button));
- priv = spin_button->priv;
-
if (!adjustment)
adjustment = gtk_adjustment_new (0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
GtkAdjustment *
gtk_spin_button_get_adjustment (GtkSpinButton *spin_button)
{
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
+
g_return_val_if_fail (GTK_IS_SPIN_BUTTON (spin_button), NULL);
- return spin_button->priv->adjustment;
+ return priv->adjustment;
}
/**
gtk_spin_button_set_digits (GtkSpinButton *spin_button,
guint digits)
{
- GtkSpinButtonPrivate *priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
g_return_if_fail (GTK_IS_SPIN_BUTTON (spin_button));
- priv = spin_button->priv;
-
if (priv->digits != digits)
{
priv->digits = digits;
guint
gtk_spin_button_get_digits (GtkSpinButton *spin_button)
{
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
+
g_return_val_if_fail (GTK_IS_SPIN_BUTTON (spin_button), 0);
- return spin_button->priv->digits;
+ return priv->digits;
}
/**
gdouble step,
gdouble page)
{
- GtkSpinButtonPrivate *priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
g_return_if_fail (GTK_IS_SPIN_BUTTON (spin_button));
- priv = spin_button->priv;
-
gtk_adjustment_configure (priv->adjustment,
gtk_adjustment_get_value (priv->adjustment),
gtk_adjustment_get_lower (priv->adjustment),
gdouble *step,
gdouble *page)
{
- GtkSpinButtonPrivate *priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
g_return_if_fail (GTK_IS_SPIN_BUTTON (spin_button));
- priv = spin_button->priv;
-
if (step)
*step = gtk_adjustment_get_step_increment (priv->adjustment);
if (page)
gdouble min,
gdouble max)
{
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
GtkAdjustment *adjustment;
g_return_if_fail (GTK_IS_SPIN_BUTTON (spin_button));
- adjustment = spin_button->priv->adjustment;
+ adjustment = priv->adjustment;
gtk_adjustment_configure (adjustment,
CLAMP (gtk_adjustment_get_value (adjustment), min, max),
/**
* gtk_spin_button_get_range:
* @spin_button: a #GtkSpinButton
- * @min: (out) (allow-none): location to store minimum allowed value, or %NULL
- * @max: (out) (allow-none): location to store maximum allowed value, or %NULL
+ * @min: (out) (optional): location to store minimum allowed value, or %NULL
+ * @max: (out) (optional): location to store maximum allowed value, or %NULL
*
* Gets the range allowed for @spin_button.
* See gtk_spin_button_set_range().
gdouble *min,
gdouble *max)
{
- GtkSpinButtonPrivate *priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
g_return_if_fail (GTK_IS_SPIN_BUTTON (spin_button));
- priv = spin_button->priv;
-
if (min)
*min = gtk_adjustment_get_lower (priv->adjustment);
if (max)
gdouble
gtk_spin_button_get_value (GtkSpinButton *spin_button)
{
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
+
g_return_val_if_fail (GTK_IS_SPIN_BUTTON (spin_button), 0.0);
- return gtk_adjustment_get_value (spin_button->priv->adjustment);
+ return gtk_adjustment_get_value (priv->adjustment);
}
/**
gint
gtk_spin_button_get_value_as_int (GtkSpinButton *spin_button)
{
- GtkSpinButtonPrivate *priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
gdouble val;
g_return_val_if_fail (GTK_IS_SPIN_BUTTON (spin_button), 0);
- priv = spin_button->priv;
-
val = gtk_adjustment_get_value (priv->adjustment);
if (val - floor (val) < ceil (val) - val)
return floor (val);
gtk_spin_button_set_value (GtkSpinButton *spin_button,
gdouble value)
{
- GtkSpinButtonPrivate *priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
g_return_if_fail (GTK_IS_SPIN_BUTTON (spin_button));
- priv = spin_button->priv;
-
if (fabs (value - gtk_adjustment_get_value (priv->adjustment)) > EPSILON)
gtk_adjustment_set_value (priv->adjustment, value);
else
gtk_spin_button_set_update_policy (GtkSpinButton *spin_button,
GtkSpinButtonUpdatePolicy policy)
{
- GtkSpinButtonPrivate *priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
g_return_if_fail (GTK_IS_SPIN_BUTTON (spin_button));
- priv = spin_button->priv;
-
if (priv->update_policy != policy)
{
priv->update_policy = policy;
GtkSpinButtonUpdatePolicy
gtk_spin_button_get_update_policy (GtkSpinButton *spin_button)
{
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
+
g_return_val_if_fail (GTK_IS_SPIN_BUTTON (spin_button), GTK_UPDATE_ALWAYS);
- return spin_button->priv->update_policy;
+ return priv->update_policy;
}
/**
gtk_spin_button_set_numeric (GtkSpinButton *spin_button,
gboolean numeric)
{
- GtkSpinButtonPrivate *priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
g_return_if_fail (GTK_IS_SPIN_BUTTON (spin_button));
- priv = spin_button->priv;
-
numeric = numeric != FALSE;
if (priv->numeric != numeric)
gboolean
gtk_spin_button_get_numeric (GtkSpinButton *spin_button)
{
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
+
g_return_val_if_fail (GTK_IS_SPIN_BUTTON (spin_button), FALSE);
- return spin_button->priv->numeric;
+ return priv->numeric;
}
/**
gtk_spin_button_set_wrap (GtkSpinButton *spin_button,
gboolean wrap)
{
- GtkSpinButtonPrivate *priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
g_return_if_fail (GTK_IS_SPIN_BUTTON (spin_button));
- priv = spin_button->priv;
-
wrap = wrap != FALSE;
if (priv->wrap != wrap)
gboolean
gtk_spin_button_get_wrap (GtkSpinButton *spin_button)
{
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
+
g_return_val_if_fail (GTK_IS_SPIN_BUTTON (spin_button), FALSE);
- return spin_button->priv->wrap;
+ return priv->wrap;
}
/**
gtk_spin_button_set_snap_to_ticks (GtkSpinButton *spin_button,
gboolean snap_to_ticks)
{
- GtkSpinButtonPrivate *priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
guint new_val;
g_return_if_fail (GTK_IS_SPIN_BUTTON (spin_button));
- priv = spin_button->priv;
-
new_val = (snap_to_ticks != 0);
if (new_val != priv->snap_to_ticks)
gboolean
gtk_spin_button_get_snap_to_ticks (GtkSpinButton *spin_button)
{
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
+
g_return_val_if_fail (GTK_IS_SPIN_BUTTON (spin_button), FALSE);
- return spin_button->priv->snap_to_ticks;
+ return priv->snap_to_ticks;
}
/**
GtkSpinType direction,
gdouble increment)
{
- GtkSpinButtonPrivate *priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
GtkAdjustment *adjustment;
gdouble diff;
g_return_if_fail (GTK_IS_SPIN_BUTTON (spin_button));
- priv = spin_button->priv;
-
adjustment = priv->adjustment;
/* for compatibility with the 1.0.x version of this function */
void
gtk_spin_button_update (GtkSpinButton *spin_button)
{
- GtkSpinButtonPrivate *priv;
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
gdouble val;
gint error = 0;
gint return_val;
g_return_if_fail (GTK_IS_SPIN_BUTTON (spin_button));
- priv = spin_button->priv;
-
return_val = FALSE;
g_signal_emit (spin_button, spinbutton_signals[INPUT], 0, &val, &return_val);
if (return_val == FALSE)